home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / PGM_TOOL / PREVIEW / CLP2DLFI / DLMAIN.PAS < prev    next >
Pascal/Delphi Source File  |  1995-11-12  |  4KB  |  177 lines

  1. unit Dlmain;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, NuDelphi, WinBrows, Menus, CommonCode, DBFserver,
  8.   wPreview, wSelPrn;
  9.  
  10. type
  11.   Tmainwin = class(TForm)
  12.     MainMenu1: TMainMenu;
  13.     File1: TMenuItem;
  14.     BrowseDatabases1: TMenuItem;
  15.     Exit1: TMenuItem;
  16.     SystemInfo1: TMenuItem;
  17.     TranslatexBase1: TMenuItem;
  18.     ActiveWindows1: TMenuItem;
  19.     Normal1: TMenuItem;
  20.     Cascade1: TMenuItem;
  21.     Tile1: TMenuItem;
  22.     N1: TMenuItem;
  23.     N2: TMenuItem;
  24.     SelectPrinter1: TMenuItem;
  25.     FlushFieldList1: TMenuItem;
  26.     N3: TMenuItem;
  27.     ReportPreviewActive1: TMenuItem;
  28.     procedure Exit1Click(Sender: TObject);
  29.     procedure BrowseDatabases1Click(Sender: TObject);
  30.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  31.     procedure FormCreate(Sender: TObject);
  32.     procedure SystemInfo1Click(Sender: TObject);
  33.     procedure TranslatexBase1Click(Sender: TObject);
  34.     procedure Cascade1Click(Sender: TObject);
  35.     procedure Tile1Click(Sender: TObject);
  36.     procedure Normal1Click(Sender: TObject);
  37.     procedure FormShow(Sender: TObject);
  38.     procedure SelectPrinter1Click(Sender: TObject);
  39.     procedure FlushFieldList1Click(Sender: TObject);
  40.     procedure ReportPreviewActive1Click(Sender: TObject);
  41.   private
  42.     { Private declarations }
  43.   public
  44.     { Public declarations }
  45.         procedure SetPreview;
  46.   end;
  47.  
  48. var
  49.   mainwin: Tmainwin;
  50.  
  51. implementation
  52.  
  53. {$R *.DFM}
  54.  
  55. procedure Tmainwin.Exit1Click(Sender: TObject);
  56. begin
  57.   close;
  58. end;
  59.  
  60. procedure Tmainwin.BrowseDatabases1Click(Sender: TObject);
  61. begin
  62.   DBFbrowse('');
  63. end;
  64.  
  65. procedure Tmainwin.FormClose(Sender: TObject; var Action: TCloseAction);
  66. begin
  67.     PutProgIni('Printers','WantsPreview',iifs(lp.WantsPreview,'1','0'));
  68.   StopLinePrinter;
  69.   StopCommonCode;
  70.   StopDBserver;
  71. end;
  72.  
  73. procedure Tmainwin.FormCreate(Sender: TObject);
  74. var tt:string;
  75. begin
  76.   WindowState:=wsNormal;
  77.   top:=0;
  78.   left:=0;
  79.   width:=640;
  80.   height:=480;
  81.     centerhoriz(self);
  82.   StartDBserver;
  83.   StartCommonCode;
  84.   StartLinePrinter;
  85.   Gen.CodeSource:='XX';
  86.   { determine installed directory }
  87.   tt:=paramstr(0);
  88.   split(tt,'\',pars,parscnt);
  89.   parscnt:=parscnt-1;  { knock off exe part }
  90.   InstalledTo:=unsplit(pars,'\',parscnt);
  91.   SetPreview;
  92. end;
  93.  
  94. procedure Tmainwin.SystemInfo1Click(Sender: TObject);
  95. begin
  96.   ShowStatus;
  97. end;
  98.  
  99. procedure Tmainwin.TranslatexBase1Click(Sender: TObject);
  100. begin
  101.   if Gen.FindWin('Translate xBase','')=0 then begin
  102.     db2dl:=tdb2dl.create(self);
  103.     db2dl.show;
  104.     db2dl.seldir;
  105.   end else db2dl.show;
  106. end;
  107.  
  108. procedure Tmainwin.Cascade1Click(Sender: TObject);
  109. begin
  110.   cascade;
  111. end;
  112.  
  113. procedure Tmainwin.Tile1Click(Sender: TObject);
  114. begin
  115.   tile;
  116. end;
  117.  
  118. procedure Tmainwin.Normal1Click(Sender: TObject);
  119. var ii:integer;
  120. begin
  121.   WindowState:=wsNormal;
  122.   top:=0;
  123.   left:=0;
  124.   width:=640;
  125.   height:=480;
  126.   if Gen.MiscWinCnt>0 then begin
  127.     for ii:=1 to gen.miscwincnt do begin
  128.       gen.miscwinlist[ii].wform.top:=gen.miscwinlist[ii].top;
  129.       gen.miscwinlist[ii].wform.left:=gen.miscwinlist[ii].left;
  130.       gen.miscwinlist[ii].wform.width:=gen.miscwinlist[ii].width;
  131.       gen.miscwinlist[ii].wform.height:=gen.miscwinlist[ii].height;
  132.     end;
  133.   end;
  134. end;
  135.  
  136. procedure Tmainwin.FormShow(Sender: TObject);
  137. begin
  138.   if Gen.FindWin('Translate xBase','')=0 then begin
  139.     db2dl:=tdb2dl.create(self);
  140.     db2dl.show;
  141.     db2dl.InDir:=InstalledTo;
  142.     db2dl.LoadLists;
  143.   end else db2dl.show;
  144. end;
  145.  
  146. procedure Tmainwin.SelectPrinter1Click(Sender: TObject);
  147. begin
  148.   if Gen.FindWin('Select Printer','')=0 then
  149.     newprinter:=tnewprinter.create(self);
  150.   newprinter.show;
  151. end;
  152.  
  153. procedure Tmainwin.FlushFieldList1Click(Sender: TObject);
  154. var tdb:oDB;
  155. begin
  156.   if YesNoBox('Re-Load Field Info Database, When DBFDIRS.TXT Changed') then begin
  157.     tdb:=nil;
  158.     dbUseExclusive(tdb,InstalledTo+'\fields');
  159.     tdb.Zap;
  160.     dbClose(tdb);
  161.   end;
  162. end;
  163.  
  164. procedure TMainWin.SetPreview;
  165. begin
  166.      ReportpreviewActive1.checked:=lp.WantsPreview;
  167.   ReportpreviewActive1.caption:='Preview: '+lp.CurrentPrinterInfo;
  168. end;
  169.  
  170. procedure Tmainwin.ReportPreviewActive1Click(Sender: TObject);
  171. begin
  172.  ReportpreviewActive1.checked:=not ReportPreviewActive1.checked;
  173.  lp.WantsPreview:=ReportpreviewActive1.checked;
  174. end;
  175.  
  176. end.
  177.